home
***
CD-ROM
|
disk
|
FTP
|
other
***
search
/
Chip 1998 September
/
CHIP Eylül 1998.iso
/
Slackwar
/
docs
/
mini
/
Cyrus-IMAP
< prev
next >
Wrap
Text File
|
1997-03-16
|
8KB
|
238 lines
mini-HOWTO install Cyrus IMAP Server
Kevin Mitchell (kevin@iserv.net)
v0.9 21.01.98
This documentation is to offer some help in installing the Cyrus
IMAP Server on a Linux machine.
1. Introduction
I would like to thank Bob Anderson (boba@iserv.net) and Jorge
Paramo (jorge@iserv.net) for helping me in my various Linux
adventures.
What is IMAP and why should I use it?
IMAP (Internet Message Access Protocol) is a method of accessing
electronic mail or bulletin board messages that are kept on a mail
server. IMAP is seen by many as a replacement for POP (Post Office
Protocol) mail. IMAP allows users to access their e-mail from
different computers without having to download it. This method of
mail access is more secure and offers many benefits to the end user.
A more indepth answer can be found at:
http://www.imap.org/whatisIMAP.html
A comparision of IMAP & POP can be found here:
http://www.imap.org/imap.vs.pop.brief.html
Why use the Cyrus server?
Cyrus is designed to be run on a server where normal users are not
permitted to log in. Cyrus also seems to be among the two most
popular IMAP servers for Unix. The University of Washington IMAP
Server is the other.
ftp://ftp.cac.washington.edu/imap/imap.tar.Z
2. My System Details
I have successfully installed Cyrus on both 486DX66 and Pentium
machines running Linux Kernel 2.1.79 and 2.0.33 respectively. These
machines were originally based upon Slackware 3.4.
3. Tcl Installation
Make sure that you have Tcl installed on your machine before
attempting to install Cyrus - otherwise you will not be able to use
the Cyrus Admin Tool (cyradm).
You can find the latest tcl source at
ftp://ftp.sunlabs.com/pub/tcl/
After installation, make sure that the file libtcl.a is found in the
/usr/local/lib/ directory. Tcl 8.0 makes a file called libtcl8.0.a
to which you should create a soft link using the following command:
# ln -s libtcl8.0.a libtcl.a
4. makedepend Installation
Check your system for the makedepend command. If you don't have it,
don't worry - it comes with the Cyrus source. (I didn't have it on
my installations of Slackware 3.4)
To install makedepend, extract the Cyrus distribution, change to the
makedepend directory, and enter the following sequence of commands:
./configure
make
cp ./makedepend /usr/local/bin/makedepend
5. Cyrus Installation
Follow the instructions that come with the Cyrus distribution
carefully. You can find a copy of them online at:
http://andrew2.andrew.cmu.edu/cyrus/imapd/install.html
Some tips for some of the steps:
If you are running Slackware 3.4 (with Shadow Passwords), make sure
that you configure in this way:
./configure --with-login=unix_pwcheck
make is pretty straight forward:
make depend
make all CFLAGS=-O
Step 1: When adding the user cyrus, I locked down the account to
help minimize any security holes.
Step 3: I edited the /etc/syslog.conf file rather than copy theirs.
Step 9: With Linux, make sure to start up pwcheck in this way
otherwise the server will not work right:
umask 0;/usr/cyrus/bin/pwcheck &
umask 022
Then add it to a startup script like this:
if [ -f /usr/cyrus/bin/pwcheck ]; then
echo -n "Starting pwcheck for imap"
umask 0;/usr/cyrus/bin/pwcheck &
umask 022
fi
I put mine in /etc/rc.d/rc.local and it works well.
Step 12: When editing the /etc/inetd.conf, make sure to include
the TCP Wrappers in your line like this:
imap stream tcp nowait cyrus /usr/sbin/tcpd /usr/cyrus/bin/imapd
imap
And don't forget to kill -HUP inetd after you are done making your
addition:
# ps ax | grep inetd
61 ? S 0:00 /usr/sbin/inetd
# kill -HUP 61
6. Sendmail Configuration
Download the sendmail source if you don't already have it. Besides
running IMAP, you can do fun things like setting up anti-spam measures.
Here is my mc file. It will deliver mail to the IMAP location unless
there is an entry of that username in the /etc/sendmail.cN file. This
allows system accounts like root to keep their mail in a spool;
however, user accounts use IMAP by default. Do not simply copy & paste
this code because sendmail will compain about spaces being used rather
than tabs:
divert(-1)
#
# (C) Copyright 1995 by Carnegie Mellon University
#
# All Rights Reserved
#
# Permission to use, copy, modify, and distribute this software and its
# documentation for any purpose and without fee is hereby granted,
# provided that the above copyright notice appear in all copies and that
# both that copyright notice and this permission notice appear in
# supporting documentation, and that the name of CMU not be
# used in advertising or publicity pertaining to distribution of the
# software without specific, written prior permission.
#
# CMU DISCLAIMS ALL WARRANTIES WITH REGARD TO THIS SOFTWARE, INCLUDING
# ALL IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS, IN NO EVENT SHALL
# CMU BE LIABLE FOR ANY SPECIAL, INDIRECT OR CONSEQUENTIAL DAMAGES OR
# ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS,
# WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION,
# ARISING OUT OF OR IN CONNECTION WITH THE USE OR P ERFORMANCE OF THIS
# SOFTWARE.
#
# Contributed to Berkeley by John Gardiner Myers .
#
# This sample mc file is for a site that uses the Cyrus IMAP server
# exclusively for local mail.
#
divert(0)dnl
VERSIONID(`@(#)cyrusproto.mc 8.3 (Carnegie Mellon) @(#)cyrusproto.mc 8.3')
OSTYPE(linux)
define(`confBIND_OPTS',`-DNSRCH -DEFNAMES')
FEATURE(nouucp)
FEATURE(nocanonify)
FEATURE(always_add_domain)
MAILER(smtp)
MAILER(local)
MAILER(cyrus)
define(`confLOCAL_MAILER',`cyrus')
LOCAL_RULE_0
R$=N $: $#local $: $1
R$=N $: $#local $: $1
Rbb + $+ $#cyrusbb $: $1
LOCAL_CONFIG
FN /etc/sendmail.cN
# end of mc file
After making the /etc/sendmail.cf file, create a file called
/etc/sendmail.cN and put in the username of accounts that do not
wish to use the IMAP delivery method:
root
majordom
stan
mothra
After installing Sendmail 8.8.8 I also installed mail.local as
my local delivery program for these other accounts. There is
a trick to making mail.local. Change to the mail.local directory
in the sendmail source and do the following:
cp Makefile Makefile.orig
cp Makefile.dist Makefile
make
cp mail.local /bin/mail.local
chmod 4555 /bin/mail.local
After all of this is done, go ahead and restart sendmail.
Don't forget to finish the Cyrus installation instructions.
7. Setting up mailboxes
Make sure to follow the tests for the IMAP server. If everything
looks acceptable, go ahead and set up some mailboxes.
8. Disclaimers
No guarantees, no money back, use at your own risk.
9. Sources
Required Packages
╖ The Cyrus home page is http://andrew2.andrew.cmu.edu/cyrus/imapd/
╖ You can download the latest version from
ftp://ftp.andrew.cmu.edu/pub/cyrus-mail/
╖ The Tcl home page is http://sunscript.sun.com/
╖ You can download the latest tcl source from
ftp://ftp.sunlabs.com/pub/tcl/
╖ The Sendmail home page is http://www.sendmail.org/
╖ You can download the latest version from
ftp://ftp.sendmail.org/ucb/src/sendmail/